A command line interface (CLI) is a familiar user interface in which a command line and a prompt are displayed to a computer system user. The user enters an input after the prompt, and the computer acts on the input. An internal data structure, sometimes referred to as a parse chain or parse graph, is applied to the input in order to validate that the syntax (e.g., structure) of the input is correct.
There are applications that can benefit from knowledge of the underlying CLI syntax that is enforced by the parse graph. These applications include: creating CLI parsers for external management systems, providing CLI documentation, and creating external configuration data models. However, it is difficult to comprehend or programmatically extract the CLI syntax from the parse graph. The CLI syntax definitions are hard-coded in various files, and the compiler extracts only limited metadata at runtime. It is also difficult to transform the parse graph into different, meaningful forms useful with other applications such as those mentioned above.
Accordingly, a system and/or method that can extract useful information from the hard-coded CLI syntax definitions contained in parse graphs would be advantageous. A system and/or method that can represent the extracted information in a useful form would also be advantageous.